package com.jzy.constant;

/**
 * ClassName: Status
 *
 * @author jzy
 * @Description:错误码枚举类
 * @date 2016-5-13
 */
public enum Status {
    /**********************************************************************************
     * 1开头 系统模块
     **********************************************************************************/
    SUCCESS(0, "成功"),
    SYSTEM_ERROR(10001, "系统异常"),
    MISS_REQUIRED_PARAMETER(10002, "缺失必要的参数"),
    NO_AUTH(10003, "您无权限进行此操作，请确认"),

    /**********************************************************************************
     * 2开头 用户模块
     **********************************************************************************/
    USER_IS_EXITS(20001, "该用户已存在"),
    ACCOUNT_IS_DISABLED(20003, "该账号已经停用"),
    UPDATE_USER_STATUS_ERROR(20002, "更新用户账号状态失败"),
    ERROR_INCORRECT_USERNAME_OR_PASSWORD(20004, "用户名或密码错误"),
    UPDATE_USER_INFO_ERROR(20005, "修改账号失败"),
    RESTPASSWORD_ERROR(20006, "重置密码失败"),
    DISABLEDUSER_ERROR(20007, "停用用户状态失败"),
    USER_IS_NOT_LOGIN(20008, "用户未登录"),
    GET_USER_STATUS_ERROR(20009, "获取用户状态失败"),
    ADD_LAST_VISIT_PAGE_ERROR(20010, "新增最近打开失败"),
    USER_SHORT_NAME_IS_EXITS(20011, "该用户简称已存在"),
    OLD_AND_NEW_PASSWORDS_CANNOT_AGREE(20012,"新旧密码不能一致"),
    OLD_PASSWORDS_ERROR(20013,"老密码不正确，请重新输入"),

    /**********************************************************************************
     * 3开头 客户模块
     **********************************************************************************/
    CUSTOMER_NAME_IS_EXITS(30001, "客户名称已存在"),
    CUSTOMER_SUBSIDIARY_NAME_IS_EXITS(30002, "子公司名称已存在"),
    CUSTOMER_INFO_NOT_EXITS(30003, "操作失败，客户信息不存在"),
    CUSTOMER_SUBSIDIARY_NOT_EXITS(30004, "操作失败，客户-分/子公司或下属院区信息不存在"),
    CUSTOMER_CONTACTS_NOT_EXITS(30005, "操作失败，客户-联系人信息不存在"),
    CUSTOMER_CONTACTS_VISIT_RECORD_NOT_EXITS(30006, "操作失败，客户-联系人拜访记录信息不存在"),
    CUSTOMER_CDA_NOT_EXITS(30007, "操作失败，客户-CDA信息不存在"),
    CUSTOMER_PROVIDER_NOT_EXITS(30008, "操作失败，客户-供应商不存在"),
    CUSTOMER_PROVIDER_INFO_NOT_EXITS(30009, "操作失败，客户-供应商不存在"),
    CUSTOMER_PROVIDER_MSA_NOT_EXITS(30010, "操作失败，供应商MSA信息不存在"),
    CUSTOMER_RFI_NOT_EXITS(30011, "操作失败，RFI信息不存在"),
    CUSTOMER_EXITS_BDPC(30012, "操作失败，该客户已存在BDPC"),

    /**********************************************************************************
     * 4开头 项目模块
     **********************************************************************************/
    PROJECT_INFO_NOT_EXITS(40001, "操作失败，项目信息不存在"),
    PROJECT_BEFORE_OFFER_NOT_EXITS(40002, "操作失败，项目-报价前信息不存在"),
    PROJECT_AFTER_OFFER_NOT_EXITS(40003, "操作失败，项目-报价后信息不存在"),
    CDA_NOT_IN_EXPIRY_DATE(40004, "操作失败，请确认CDA在有效期内，否则无法保存"),

    /**********************************************************************************
     * 5开头 合同模块
     **********************************************************************************/
    CONTRACT_INFO_NOT_EXITS(50003, "操作失败，合同信息不存在"),
    CONTRACT_BEFORESIGNED_IS_EXITS(50004,"已经存在签署前信息"),
    CONTRACT_AFTERSIGNED_IS_EXITS(50005,"已经存在签署后信息"),

    /**********************************************************************************
     * 9开头 其他模块
     **********************************************************************************/
    UPDATE_TODO_REMINDER_STATUS_ERROR(90001, "更新待办状态失败");


    private int code;
    private String msg;

    private Status(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public static String getMsg(int code) {
        for (Status value : Status.values()) {
            if (value.getCode() == code) {
                return value.msg;
            }
        }
        return "";
    }

    public int getCode() {
        return code;
    }

    private void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    private void setMsg(String msg) {
        this.msg = msg;
    }
}
